package com.example.mybatisplusdemo.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.mybatisplusdemo.model.domain.Product;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.mybatisplusdemo.model.dto.PageDTO;
import com.example.mybatisplusdemo.model.dto.ProductWithPointsDTO;

/**
 * <p>
 * 存储商品详情 服务类
 * </p>
 *
 * @author lqj
 * @since 2025-06-24
 */
public interface IProductService extends IService<Product> {

    Page<Product> pageList(Product product, PageDTO pageDTO);

    int logicDeleteById(Long id);

    void saveProductWithPoints(ProductWithPointsDTO dto);

    ProductWithPointsDTO getPointsPriceByProductId(Long id);

    Page<Product> pageListWithSort(Product product, PageDTO pageDTO, String orderBy, String sort);
}
